/**
 * 
 */
package modelo.entidade;

/**
 * @author DANILO
 *
 */
public class Contratante {

	private long id_contratante;
	private String nm_contratante;
	private String cpf;
	private String rg;
	
	private Contato contato;
	private Endereco endereco;
	
	
	//Construtores***
	public Contratante() {
		super();
	}

	public Contratante(long id_contratante) {
		super();
		this.id_contratante = id_contratante;
	}
	
	public Contratante(long id_contratante, String nm_contratante, String cpf,
			String rg, Contato contato, Endereco endereco) {
		super();
		this.id_contratante = id_contratante;
		this.nm_contratante = nm_contratante;
		this.cpf = cpf;
		this.rg = rg;
		this.contato = contato;
		this.endereco = endereco;
	}
	
	public Contratante(long id_contratante, String nm_contratante, String cpf,
			String rg) {
		super();
		this.id_contratante = id_contratante;
		this.nm_contratante = nm_contratante;
		this.cpf = cpf;
		this.rg = rg;
	}


	

	public Contratante(String nm_contratante, String cpf, String rg) {
		super();
		this.nm_contratante = nm_contratante;
		this.cpf = cpf;
		this.rg = rg;
	}
	//Construtores*

	//Getters and Setters***
	public long getId_contratante() {
		return id_contratante;
	}

	public void setId_contratante(long id_contratante) {
		this.id_contratante = id_contratante;
	}

	public String getNm_contratante() {
		return nm_contratante;
	}

	public void setNm_contratante(String nm_contratante) {
		this.nm_contratante = nm_contratante;
	}

	public Contato getContato() {
		return contato;
	}

	public void setContato(Contato contato) {
		this.contato = contato;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}
	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}
	
	//Getters and Setters*
	
	//hashCode***
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((contato == null) ? 0 : contato.hashCode());
		result = prime * result + ((cpf == null) ? 0 : cpf.hashCode());
		result = prime * result
				+ ((endereco == null) ? 0 : endereco.hashCode());
		result = prime * result
				+ (int) (id_contratante ^ (id_contratante >>> 32));
		result = prime * result
				+ ((nm_contratante == null) ? 0 : nm_contratante.hashCode());
		result = prime * result + ((rg == null) ? 0 : rg.hashCode());
		return result;
	}
	//hashCode*

	//equals***
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Contratante other = (Contratante) obj;
		if (contato == null) {
			if (other.contato != null)
				return false;
		} else if (!contato.equals(other.contato))
			return false;
		if (cpf == null) {
			if (other.cpf != null)
				return false;
		} else if (!cpf.equals(other.cpf))
			return false;
		if (endereco == null) {
			if (other.endereco != null)
				return false;
		} else if (!endereco.equals(other.endereco))
			return false;
		if (id_contratante != other.id_contratante)
			return false;
		if (nm_contratante == null) {
			if (other.nm_contratante != null)
				return false;
		} else if (!nm_contratante.equals(other.nm_contratante))
			return false;
		if (rg == null) {
			if (other.rg != null)
				return false;
		} else if (!rg.equals(other.rg))
			return false;
		return true;
	}
	//equals*
	
	
	//toString***
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("Contratante [id_contratante=").append(id_contratante)
				.append(", nm_contratante=")
				.append(nm_contratante)
				.append(", cpf=")
				.append(cpf)
				.append(", rg=")
				.append(rg)
				.append(", contato=")
				.append(contato)
				.append(", endereco=")
				.append(endereco)
				.append("]");
		return builder.toString();
	}
	//toString*


			
}
